
<!--- START J-Spell requirements--->
<!---script LANGUAGE="JavaScript" TYPE="text/javascript" SRC="/jspellEvolution/jspellSettings.js" CHARSET="ISO-8859-1"></script>
<script LANGUAGE="JavaScript" TYPE="text/javascript" SRC="/jspellEvolution/jspellEvolution.js" CHARSET="ISO-8859-1"></script>
<cfinclude template="/code_lib/SetJSpellDictionary.cfm" /--->
<!--- END J-Spell requirements--->

<!--- OPTIONAL STEP A (For J-SPELL)----------------------------------------------------------------------------------------------
	If you only want to spell check certain fields, use this!  Then set the class of the fields to be checked to
	'spellCheckMe'.  If this section is not included, all text inputs and textareas on the page will be spell-checked.
 --->
<!---script type="text/javascript" src="/jspellEvolution/jspell-advanced.js"></script--->
<!--- END OPTIONAL STEP A ----------------------------------------------------------------------------------------->

<cfset INVALID = "INVALID">

<!--- accepts a 10 or 7 character phone number and pulls out all white space, '('s, ')'s, and '-'s--->
<cffunction name="CleanPhone" returntype="string">
	<cfargument name="pstrPhone" type="string" required="yes">
    
	<cfset strTempPhone = replace(replace(replace(replace(pstrPhone, " ", "","all"), "(", "","all"), ")", "","all"), "-", "","all")>
    
    <cfif trim(strTempPhone) EQ "">
    	<cfset strResult = "">
        
	<cfelseif isnumeric(strTempPhone)>
    	<cfif len(strTempPhone) EQ 7>
        	<cfset strResult = "907" & strTempPhone>
            
        <cfelseif len(strTempPhone) EQ 10>
        	<cfset strResult = strTempPhone>
    		
    	<cfelse>
    		<cfset strResult = INVALID>
        
        </cfif>
        
    <cfelse>
    	<cfset strResult = INVALID>
        
    </cfif>   
    
    <cfreturn strResult> 
</cffunction>

<!--- Takes the phone from the DB and adds '-'s for display purposes --->
<cffunction name="DisplayPhone" returntype="string">
	<cfargument name="pstrPhone" type="string" required="yes">
    
    <cfif trim(pstrPhone) NEQ ''>
		<cfset strResult = left(pstrPhone, 3) & "-" & mid(pstrPhone, 4, 3) & "-" & right(pstrPhone, 4)>
    <cfelse>
    	<cfset strResult = ''>
    </cfif>
       
    <cfreturn strResult> 
</cffunction>

<cffunction name="PCase" returntype="string">
	<cfargument name="pstrWord" type="string" required="yes">
    
    <cfif len(pstrWord) GT 0>
		<cfset arrWord = ListToArray(pstrWord," ")>
        <cfloop from =1 to=#arrayLen(arrWord)# index="intX">
            <cfif len(arrWord[intX])-1 GTE 1>
                <cfset arrWord[intX] = Ucase(left(arrWord[intX],1)) & LCase(right(arrWord[intX], len(arrWord[intX])-1))> 
            <cfelse>
                <cfset arrWord[intX] = Ucase(left(arrWord[intX],1))>
            </cfif>         
        </cfloop>
        
        <cfset strTemp = arrWord[1]>
        <cfloop from=2 to=#arrayLen(arrWord)# index="intX">
            <cfset strTemp &= (" " & arrWord[intX])>
        </cfloop>
        
        <cfset arrWord = ListToArray(strTemp,"-")>
        <cfloop from =2 to=#arrayLen(arrWord)# index="intX">
            <cfif len(arrWord[intX])-1 GTE 1>
                <cfset arrWord[intX] = Ucase(left(arrWord[intX],1)) & right(arrWord[intX], len(arrWord[intX])-1)>
            <cfelse>
                <cfset arrWord[intX] = Ucase(left(arrWord[intX],1))>
            </cfif>
        </cfloop>
        <cfset strTemp = arrWord[1]>
        <cfloop from=2 to=#arrayLen(arrWord)# index="intX">
            <cfset strTemp &= ("-" & arrWord[intX])>
        </cfloop>
        
        <cfset arrWord = ListToArray(strTemp,"'")>
        <cfloop from =2 to=#arrayLen(arrWord)# index="intX">
            <cfif len(arrWord[intX])-1 GTE 1>
                <cfset arrWord[intX] = Ucase(left(arrWord[intX],1)) & right(arrWord[intX], len(arrWord[intX])-1)>
            <cfelse>
                <cfset arrWord[intX] = Ucase(left(arrWord[intX],1))>
            </cfif>
        </cfloop>
        
        
        <cfset strTemp = arrWord[1]>
        <cfloop from=2 to=#arrayLen(arrWord)# index="intX">
            <cfset strTemp &= ("'" & arrWord[intX])>
        </cfloop>
        
        
        <cfset strReturn = strTemp>
    <cfelse>
        <cfset strReturn = ''>
    </cfif>
    
    <cfreturn strReturn>
</cffunction>

<cffunction name="YesNo" returntype="string">
	<cfargument name="pbolValue" type="boolean" required="yes">

	<cfif pbolValue EQ True or pbolValue EQ -1>
		<cfset strReturn = "Yes">
    <cfelse>
		<cfset strReturn = "No">
    </cfif>    	
    
    <cfreturn strReturn>
</cffunction>



<!--- EPLS CHECK --->
<!--- SSN search could not be tested for all conditions ... specifically a positive return for SSN match.  No test data was available and they would not give out an existing case.  Howeer, we can conclude with a reasonable amount of certainty that if we receive the return "SSN did not match", then we can clear the individual.  Otherwise, I'll redirect to the EPLS page, where an HR rep will have to complete the task manually (link on page).  This would have been required either way. --->   
<cffunction name="EPLSCheck" returntype="boolean">    
	<cfargument name="pstrFirst" type="string" required="yes">
	<cfargument name="pstrLast" type="string" required="yes">
	<cfargument name="pstrSSN" type="string" required="yes">
	<cfargument name="pintEmpID" type="numeric" required="no" default="0">
       
	<cfset objEPLS = PartialNameSearch ('#pstrFirst#', '#pstrLast#')>
     
    <cfif objEPLS.Count GT 0>
        <cfset bolResult = True> <!--- initially set Cleared to TRUE.  Then if it doesn't satisfy the condition of a successful SSN check, set it to FALSE (See below)--->
                         
        <cfset strError = "">  
        <cfset intCheckCount = 0>
        <cfset arrNotCleared = ArrayNew(1)>
        <cfloop from=1 to=#objEPLS.Count# index="intX">
            <cfset strName =trim(objEPLS.Results[intX].Name)>
            <cfset strSSN = replace(strSSN,'-','','all')>
            <cfset objSSNReturn = SSNSearch ("#strName#", "#strSSN#")>
            <cfset strError = replace(replace(objSSNReturn.Error, "We recommend an Advanced Search by Exact Name or Partial Name to view the record.", ""), "An Exact Name match was found however the ", "")>
            
            <cfif trim(strError) NEQ "SSN did not match.">
                <cfset bolResult = False>   <!--- Just one of the possible Partial Name results is enough to be unable to Clear an individual.  Just one False return.  --->
                <cfset intCheckCount = intCheckCount+1>
                <cfset arrNotCleared[intCheckCount] = {EmpName = "#pstrFirst# #pstrLast#", SSN=#pstrSSN#, EPLSName=#strName#, Error=#strError#, EmpID = #pintEmpID#}>
            </cfif>
        </cfloop>	
                               
    <cfelse>
        <cfset bolResult = True>
    </cfif> 
    
    <cfreturn bolResult>
     
</cffunction>
<!--- END EPLS CHECK --->  

            
<cffunction name="PartialNameSearch" returntype="struct" output="no">
	<cfargument name="pstrFirstName" type="string" required="yes">
	<cfargument name="pstrLastName" type="string" required="yes">
    
	<cfset var FUNC = StructNew() />
	
    <cfif ARGUMENTS.pstrLastName EQ "">
		<cfset objName = {partialName="#ARGUMENTS.pstrFirstName#"}>
    <cfelse>
		<cfset objName = {partialName="#ARGUMENTS.pstrFirstName# AND #ARGUMENTS.pstrLastName#"}>
    </cfif>
    
	<!--- DML 2010.03.16 - Added code to automatically retry 20 times for each --->
	<cfloop from="1" to="20" index="FUNC.x">
		<cftry>
			<cfinvoke webservice="http://www.epls.gov/epls/services/EPLSSearchWebService?wsdl" method="doSearch" returnvariable="arrEPLSSearchResponse" timeout="600">
				<cfinvokeargument name="query" value="#objName#"/>
			</cfinvoke>
			<cfbreak />
			<cfcatch type="any">
				<cfmail from="epar@scf.cc" to="dmlewis@scf.cc" subject="EPLS Retry #FUNC.x#: PartialNameSearch()" type="html">
					<p>pstrFirstName = #pstrFirstName#</p>
					<p>pstrLastName = #pstrLastName#</p>
					<cfdump var="#CFCATCH#" />
				</cfmail>
				<cfif FUNC.x LT 20>
					<!--- Wait before trying again. --->
					<cfset thread = CreateObject("java", "java.lang.Thread")>
					<cfset thread.sleep(5000) />
				<cfelse>
					<h1>Unable to connect to the EPLS service.  Maximum number of retries (20) was reached.</h1>
					<cfrethrow />
				</cfif>					
			</cfcatch>
			
		</cftry>
	</cfloop>
	
	<!--- End DML 2010.03.16; old code follows --->
	<!--- <cfinvoke webservice="http://www.epls.gov/epls/services/EPLSSearchWebService?wsdl" method="doSearch" returnvariable="arrEPLSSearchResponse" timeout="600">
        <cfinvokeargument name="query" value="#objName#"/>
    </cfinvoke> --->
    
    <cfset intCount = arrEPLSSearchResponse.getCount()>
    <cfset strError = arrEPLSSearchResponse.getErrorMessage()>
    <cfif arrEPLSSearchResponse.isSuccessful() EQ 'YES'>
    	<cfset bolSuccess = True>
    <cfelse>
    	<cfset bolSuccess = False>
    </cfif>
	<cfif not isdefined("intCount")>            	
        <cfset intCount = 0>
    </cfif>
    <cfif not isdefined("strError")>            	
        <cfset strError = "">
    </cfif>
    
    <cfset arrResult = arrEPLSSearchResponse.getResults()>   
	<cfset arrResults = ArrayNew(1)>
    <cfloop from=1 to=#arraylen(arrResult)# index="intX">
        <!---cfdump var="#arrResult[intX]#"--->
        <cfset strName = arrResult[intX].getName()>
        <cfset strClassification = arrResult[intX].getClassification()>
        <cfset strDescription = arrResult[intX].getDescription()>
        <cfset strExclusionType = arrResult[intX].getExclusionType()>
        
		<cfif not isdefined("strName")>            	
            <cfset strName = "">
        </cfif>
		<cfif not isdefined("strClassification")>            	
            <cfset strClassification = "">
        </cfif>
		<cfif not isdefined("strDescription")>            	
            <cfset strDescription = "">
        </cfif>
		<cfif not isdefined("strExclusionType")>            	
            <cfset strExclusionType = "">
        </cfif>
        
        <cfset arrAction = arrResult[intX].getAction()>    
		<cfset arrActions = ArrayNew(1)>
        <cfloop from=1 to=#arraylen(arrAction)# index="intA">
        	<cfset strAgencyComponent = arrAction[intA].getAgencyComponent()>
        	<cfset strCtCode = arrAction[intA].getCtCode()>
        	<cfset strTermType = arrAction[intA].getTermType()>    
            <cfif isdate(arrAction[intA].getTermDate())>
        		<cfset dteTermDate = dateFormat(arrAction[intA].getTermDate(),"mm/dd/yyyy")>
            </cfif>   
            <cfif isdate(arrAction[intA].getActionDate())> 
        		<cfset dteActionDate = dateFormat(arrAction[intA].getActionDate(),"mm/dd/yyyy")>
            </cfif>   
            
            <cfif not isdefined("strAgencyComponent")>            	
        		<cfset strAgencyComponent = "">
            </cfif>
            <cfif not isdefined("strCtCode")>            	
        		<cfset strCtCode = "">
            </cfif>
            <cfif not isdefined("strTermType")>            	
        		<cfset strTermType = "">
            </cfif>
            <cfif not isdefined("dteTermDate")>            	
        		<cfset dteTermDate = "">
            </cfif>
            <cfif not isdefined("dteActionDate")>            	
        		<cfset dteActionDate = "">
            </cfif>
    		
            <cfset arrActions[intA] = {actionDate=#dteActionDate#, agency=#strAgencyComponent#, ctCode=#strCtCode#, termDate=#dteTermDate#, termtype=#strTermType#}>   
        </cfloop>
            
        <cfset arrAddress = arrResult[intX].getAddress()>
		<cfset arrAddresses = ArrayNew(1)>
        <cfloop from=1 to=#arraylen(arrAddress)# index="intB">
        	<cfset strStreet1 = arrAddress[intB].getStreet1()>
        	<cfset strStreet2 = arrAddress[intB].getStreet2()>
        	<cfset strCity = arrAddress[intB].getCity()>
        	<cfset strState = arrAddress[intB].getState()>
        	<cfset strZIP = arrAddress[intB].getZip()>
        	<cfset strProvience = arrAddress[intB].getProvince()>
        	<cfset strCountry = arrAddress[intB].getCountry()>
            
            <cfif not isdefined("strStreet1")>            	
        		<cfset strStreet1 = "">
            </cfif>
            <cfif not isdefined("strStreet2")>            	
        		<cfset strStreet2 = "">
            </cfif>
            <cfif not isdefined("strCity")>            	
        		<cfset strCity = "">
            </cfif>
            <cfif not isdefined("strState")>            	
        		<cfset strState = "">
            </cfif>
            <cfif not isdefined("strZIP")>            	
        		<cfset strZIP = "">
            </cfif>
            <cfif not isdefined("strProvience")>            	
        		<cfset strProvience = "">
            </cfif>
            <cfif not isdefined("strCountry")>            	
        		<cfset strCountry = "">
            </cfif>
            
            <cfset arrAddresses[intA] = {Street1= #strStreet1#,Street2= #strStreet2#,City= #strCity#,State= #strState#,ZIP= #strZIP#,Provience= #strProvience#,Country= #strCountry#}>              
        </cfloop>
            
        <cfset arrAgencyUID = arrResult[intX].getAgencyUID()>
		<cfset arrAgencyUIDs = ArrayNew(1)>
        <cfloop from=1 to=#arraylen(arrAgencyUID)# index="intC">
        	<cfset strUidType = arrAgencyUID[intC].getUidType()>
        	<cfset strUidValue = arrAgencyUID[intC].getUidValue()>
            
            <cfif not isdefined("strUidType")>            	
        		<cfset strUidType = "">
            </cfif>
            <cfif not isdefined("strUidValue")>            	
        		<cfset strUidValue = "">
            </cfif>
            
            <cfset arrAgencyUIDs[intA] = {UidTyp= #strUidType#,UidValue= #strUidValue#}>  
        </cfloop>
        
        <cfset arrResults[intX] = {Name=#strName#, Classification=#strClassification#, Description=#strDescription#, ExclusionType=#strExclusionType#, 
			Actions=#arrActions#, Addresses=#arrAddresses#, AgencyUIDs=#arrAgencyUIDs#}>  
        
    </cfloop>    
    
    <cfset objReturn = {Count=#intCount#, Error=#strError#, Success = #bolSuccess#, Results=#arrResults#}>
    <cfreturn objReturn>
    
</cffunction>


<cffunction name="SSNSearch" returntype="struct">
	<cfargument name="pstrExactName" type="string" required="yes">    
	<cfargument name="pstrSSN" type="string" required="yes">
    
	<cfset objName = {exactName="#pstrExactName#",ssnOrTin=#pstrSSN#}>
    
	<!--- DML 2010.03.16 - Added code to automatically retry 20 times for each --->
	<cfloop from="1" to="20" index="FUNC.x">
		<cftry>
			<cfinvoke webservice="http://www.epls.gov/epls/services/EPLSSearchWebService?wsdl" method="doSSNSearch" returnvariable="arrEPLSSearchResponse">
				<cfinvokeargument name="query" value="#objName#"/>
			</cfinvoke>
			<cfbreak />
			<cfcatch type="any">
				<cfmail from="epar@scf.cc" to="dmlewis@scf.cc" subject="EPLS Retry: SSNSearch()" type="html">
					<p>pstrExactName = #pstrExactName#</p>
					<p>ssnOrTin = #pstrSSN#</p>
					<cfdump var="#CFCATCH#" />
				</cfmail>
				<cfif FUNC.x LT 20>
					<!--- Wait before trying again. --->
					<cfset thread = CreateObject("java", "java.lang.Thread")>
					<cfset thread.sleep(5000) />
				<cfelse>
					<h1>Unable to connect to the EPLS service.  Maximum number of retries (20) was reached.</h1>
					<cfrethrow />
				</cfif>	
			</cfcatch>
		</cftry>
	</cfloop>
	
	<!--- End DML 2010.03.16; old code follows --->
	<!--- <cfinvoke webservice="http://www.epls.gov/epls/services/EPLSSearchWebService?wsdl" method="doSearch" returnvariable="arrEPLSSearchResponse" timeout="600">
        <cfinvokeargument name="query" value="#objName#"/>
    </cfinvoke> --->
    
    <cfset intCount = arrEPLSSearchResponse.getCount()>
    <cfset strError = arrEPLSSearchResponse.getErrorMessage()>
    <cfif arrEPLSSearchResponse.isSuccessful() EQ 'YES'>
    	<cfset bolSuccess = True>
    <cfelse>
    	<cfset bolSuccess = False>
    </cfif>
	<cfif not isdefined("intCount")>            	
        <cfset intCount = 0>
    </cfif>
    <cfif not isdefined("strError")>            	
        <cfset strError = "">
    </cfif>
    
    <cfset arrResult = arrEPLSSearchResponse.getResults()>   
	<cfset arrResults = ArrayNew(1)>
    <!---cfloop from=1 to=#arraylen(arrResult)# index="intX">
        <cfdump var="#arrResult[intX]#">
        
        <!---cfset strName = arrResult[intX].getName()>
        <cfset strClassification = arrResult[intX].getClassification()>
        <cfset strDescription = arrResult[intX].getDescription()>
        <cfset strExclusionType = arrResult[intX].getExclusionType()>
        
		<cfif not isdefined("strName")>            	
            <cfset strName = "">
        </cfif>
		<cfif not isdefined("strClassification")>            	
            <cfset strClassification = "">
        </cfif>
		<cfif not isdefined("strDescription")>            	
            <cfset strDescription = "">
        </cfif>
		<cfif not isdefined("strExclusionType")>            	
            <cfset strExclusionType = "">
        </cfif>
        
        <cfset arrAction = arrResult[intX].getAction()>    
		<cfset arrActions = ArrayNew(1)>
        <cfloop from=1 to=#arraylen(arrAction)# index="intA">
        	<cfset dteActionDate = dateFormat(arrAction[intA].getActionDate(),"mm/dd/yyyy")>
        	<cfset strAgencyComponent = arrAction[intA].getAgencyComponent()>
        	<cfset strCtCode = arrAction[intA].getCtCode()>
        	<cfset dteTermDate = dateFormat(arrAction[intA].getTermDate(),"mm/dd/yyyy")>
        	<cfset strTermType = arrAction[intA].getTermType()>        
            
            <cfif not isdefined("dteActionDate")>            	
        		<cfset dteActionDate = "">
            </cfif>
            <cfif not isdefined("strAgencyComponent")>            	
        		<cfset strAgencyComponent = "">
            </cfif>
            <cfif not isdefined("strCtCode")>            	
        		<cfset strCtCode = "">
            </cfif>
            <cfif not isdefined("dteTermDate")>            	
        		<cfset dteTermDate = "">
            </cfif>
            <cfif not isdefined("strTermType")>            	
        		<cfset strTermType = "">
            </cfif>
    		
            <cfset arrActions[intA] = {actionDate=#dteActionDate#, agency=#strAgencyComponent#, ctCode=#strCtCode#, termDate=#dteTermDate#, termtype=#strTermType#}>   
        </cfloop>
            
        <cfset arrAddress = arrResult[intX].getAddress()>
		<cfset arrAddresses = ArrayNew(1)>
        <cfloop from=1 to=#arraylen(arrAddress)# index="intB">
        	<cfset strStreet1 = arrAddress[intB].getStreet1()>
        	<cfset strStreet2 = arrAddress[intB].getStreet2()>
        	<cfset strCity = arrAddress[intB].getCity()>
        	<cfset strState = arrAddress[intB].getState()>
        	<cfset strZIP = arrAddress[intB].getZip()>
        	<cfset strProvience = arrAddress[intB].getProvince()>
        	<cfset strCountry = arrAddress[intB].getCountry()>
            
            <cfif not isdefined("strStreet1")>            	
        		<cfset strStreet1 = "">
            </cfif>
            <cfif not isdefined("strStreet2")>            	
        		<cfset strStreet2 = "">
            </cfif>
            <cfif not isdefined("strCity")>            	
        		<cfset strCity = "">
            </cfif>
            <cfif not isdefined("strState")>            	
        		<cfset strState = "">
            </cfif>
            <cfif not isdefined("strZIP")>            	
        		<cfset strZIP = "">
            </cfif>
            <cfif not isdefined("strProvience")>            	
        		<cfset strProvience = "">
            </cfif>
            <cfif not isdefined("strCountry")>            	
        		<cfset strCountry = "">
            </cfif>
            
            <cfset arrAddresses[intA] = {Street1= #strStreet1#,Street2= #strStreet2#,City= #strCity#,State= #strState#,ZIP= #strZIP#,Provience= #strProvience#,Country= #strCountry#}>              
        </cfloop>
            
        <cfset arrAgencyUID = arrResult[intX].getAgencyUID()>
		<cfset arrAgencyUIDs = ArrayNew(1)>
        <cfloop from=1 to=#arraylen(arrAgencyUID)# index="intC">
        	<cfset strUidType = arrAgencyUID[intC].getUidType()>
        	<cfset strUidValue = arrAgencyUID[intC].getUidValue()>
            
            <cfif not isdefined("strUidType")>            	
        		<cfset strUidType = "">
            </cfif>
            <cfif not isdefined("strUidValue")>            	
        		<cfset strUidValue = "">
            </cfif>
            
            <cfset arrAgencyUIDs[intA] = {UidTyp= #strUidType#,UidValue= #strUidValue#}>  
        </cfloop>
        
        <cfset arrResults[intX] = {Name=#strName#, Classification=#strClassification#, Description=#strDescription#, ExclusionType=#strExclusionType#, 
			Actions=#arrActions#, Addresses=#arrAddresses#, AgencyUIDs=#arrAgencyUIDs#}--->  
        
    </cfloop--->    
    
    <cfset objReturn = {Count=#intCount#, Error=#strError#, Success = #bolSuccess#}>
    <cfreturn objReturn>
    
</cffunction>

<!---cffunction name="MasterEPLSSearch" returntype="boolean">  <!--- Returns True is pass (not on list), False if exclude (appears on list)--->
	<cfargument name="pstrFirstName" type="string" required="yes">
	<cfargument name="pstrLastName" type="string" required="yes">    
	<cfargument name="pstrSSN" type="string" required="no">

	<cfset objReturn = PartialNameSearch ("#pstrFirstName#", "#pstrLastName#")>
    <!---cfset objReturn = PartialNameSearch ("Larry", "Wright")--->
        
    <cfif objReturn.Success EQ True>
        <cfif objReturn.Count GT 0>
            <!---cfset objSSNReturn = SSNSearch ("#pstrFirstName#", "#pstrLastName#", "#replace(pstrSSN,'-','')#")>
            <cfif objSSNReturn.Count GT 0--->
                <cfset bolEPLSPass = False>
            <!---cfelse>
                <cfset bolEPLSPass = True>
            </cfif--->
            
        <cfelse>
            <cfset bolEPLSPass = True>  	
            
        </cfif>
        
    <cfelse>
        <cfset bolEPLSPass = False>
        <cfset strError = "An error occured while running the EPLS Partial Name search for '#strFirst# #strLast#'. <BR> ERROR: #objReturn.Error#. <BR><BR> Please visit the EPLS site and perform the task manually.">
        
    </cfif>
    
    <cfreturn bolEPLSPass>
</cffunction>

<cffunction name="SSN_EPLSSearch" returntype="struct">  <!--- Returns True is pass (not on list), False if exclude (appears on list)--->
	<cfargument name="pstrFirstName" type="string" required="yes">
	<cfargument name="pstrLastName" type="string" required="yes">    
	<cfargument name="pstrSSN" type="string" required="yes">

	<cfset objSSNReturn = SSNSearch ("#pstrFirstName#", "#pstrLastName#", "#replace(pstrSSN,'-','')#")>
    <cfif objSSNReturn.Count GT 0>
        <cfset bolEPLSPass = False>
    <cfelse>
        <cfset bolEPLSPass = True>
    </cfif>
    
    <cfset strError = objSSNReturn.Error>
    
    <cfset objReturn = {Count=#intCount#, Error=#strError#, Cleared = #bolEPLSPass#}>
    <cfreturn objReturn>
</cffunction--->